package com.sunday.authorization.security.constants;

/**
 * Open Api 路径
 *
 * @author zsy
 * @since 2024/3/15
 */
public interface SecurityConstants {


    /***********************************    Security    *****************************************/

    /**
     * 登录
     */
    String LOGIN_PATH_URL = "/login";

    /**
     * 图片 获取验证码 url
     */
    String VERIFY_CODE_PATH_URL = "/login/verifyCode";

    /**
     * 手机 获取验证码 url
     */
    String CAPTCHA_PATH_URL = "/login/captcha";


    /***********************************    验证码    *****************************************/

    /**
     * 图片 验证码 前缀
     */
    String LOGIN_IMAGE_VERIFY_CODE = "login_image_verify_code:";

    static String loginImageVerifyCode(String sequence) {
        return LOGIN_IMAGE_VERIFY_CODE + sequence;
    }

    /**
     * 图片 验证码 session key
     */
    String COOKIE_VERIFY_CODE_KEY = "verify_code";

    /**
     * 手机 验证码 前缀
     */
    String LOGIN_PHONE_CAPTCHA = "login_phone_captcha:";

    static String loginPhoneCaptcha(String username) {
        return LOGIN_PHONE_CAPTCHA + username;
    }

    /**
     * 登录失败最大次数 前缀
     */
    String LOGIN_ERROR_MAX_COUNT = "login_error_max_count:";

    static String loginErrorMaxCountKey(String username) {
        return LOGIN_ERROR_MAX_COUNT + username;
    }

    /**
     * 登录失败最大次数
     */
    int LOGIN_ERROR_MAX_COUNT_NUMBER = 10;

    /**
     * 登录失败预警次数
     */
    int LOGIN_ERROR_WARN_COUNT_NUMBER = 7;


}
